// pages/test/test.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },


/*	下面的代码都需要在后端服务器上调用，在微信小程序中发送请求是获取不到数据的			*/

	// 获取消息通知的权限
	clickButton: function (e) {
		console.log(666);
		wx.requestSubscribeMessage({
			tmplIds: ['m9yMEcxuJ5L_doXHDT-lI5KN9WWuzgzBz9Q08ptiZeY'],
			success(res) {
				console.log(res);
			}
		})
	},

	// 获取 access_token
	getAccessToken: function (e) {
		console.log(888);
		// 首先发送请求获取 access_token
		wx.request({
			url: 'https://api.weixin.qq.com/cgi-bin/token', //仅为示例，并非真实的接口地址
			data: {
				appid: this.data.appid,
				secret: this.data.appsecret,
				grant_type: "client_credential"
			},
			header: {
				'content-type': 'application/json' // 默认值
			},
			method: "GET",
			dataType: "json",


			// 这个 success 函数里this指向不明，可以使用箭头函数
			success: (res) => {
				console.log(res.data);
				this.data.access_token = res.data.access_token;
			}
		});

	},

	/*
	获取 openid，登录时已经获取到了 openid，但是需要一定的时间，如果在页面的声明周期函数里面获取 APP.js
	可能导致获取 openid 失败
	*/
	getOpenid(e) {

		var app = getApp();
		this.data.touser = app.globalData.openid;
		console.log("点击按钮获取到的openid = " + this.data.touser);

	},

	// 根据 access_token 发送POST请求，执行发送消息
	sendMessage: function (e) {
		console.log("accesson= " + this.data.access_token);
		// 注意，由于请求是异步的，所以 access_token 的获取和根据 access_token 发送请求不能放在同一个方法里面

		// 获得 access_token 之后，发送请求
		wx.request({
			url: 'https://api.weixin.qq.com/cgi-bin/message/subscribe/send',
			method: "POST",
			dataType: "json",
			data: {
				access_token: "",
				touser: this.data.touser,
				data: this.data.infoMsg
			},
			success: (res) => {
				console.log(res.data);
			}
		})

	},

	/**
   * 生命周期函数--监听页面显示
   */
	onShow: function () {
		console.log(111);
		var app = getApp();
		// 在生命周期函数里面获取 APP.js 中的 openid可能获取失败，因为登录需要一定的时间。
		//console.log("获取app.js里面的 openid :" + app.globalData.openid);
		//this.data.touser = app.globalData.openid;
	}
})